package waqwb;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ResourceBundle;

/**
 * 用ResouceBundle
 * @author JokerQ
 * @date 2020/8/12 - 10:47
 */
public class JDBCDemo03 {
    public static void main(String[] args) {
        //1、加载驱动
        /*
        反射机制加载我们的MySQL驱动，
         */
        Connection conn =null;
        try {
            //异常先不处理，先抛出，后续课程专门讲异常处理部分
           /* Class c = Class.forName("com.mysql.jdbc.Driver");
            //System.out.println(c);
            //2、创建连接
            //DriverManager:管理一组 JDBC 驱动程序的基本服务。
            //                          服务器         库
            String url = "jdbc:mysql://127.0.0.1:3306/ycty";
            String username = "waqwb";
            String password = "qiu55555";*/
           ResourceBundle bundle = ResourceBundle.getBundle("db");
            String driver = bundle.getString("driver");
            String url = bundle.getString("url");
            String username = bundle.getString("username");
            String password = bundle.getString("password");
            Class.forName(driver);
           conn = DriverManager.getConnection(url,username,password);
            System.out.println(conn);
            //3、创建语句对象
            /**
             * Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。
             * Statement通过Connection对象创建，有三种常用方法：
             * execute()：查询时候有返回值，有返回值返回true
             * executeQuery():执行查询语句的时候用
             * executeUpdate()：执行更新语句的时候，返回的是受到影响的记录 0 >0
             */
            Statement statement = conn.createStatement();
            //4、执行sql语句
            String sql = "select * from t_user";
            //5、处理结果集
            ResultSet rs = statement.executeQuery(sql);
            while(rs.next()){
                String str= rs.getString("email");
                System.out.println(str);
            }
            //6、关闭连接
        } catch (Exception e){
            e.printStackTrace();
        } finally {
            try {
                conn.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
}
